package com.egao.common.module.student.entity.vo;

import com.egao.common.module.student.entity.StudentRecord;
import com.egao.common.module.system.entity.Dict;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 学生表单VO
 * @author lym
 */
@Data
public class StudentFormVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("学生ID")
    private Integer id;

    @ApiModelProperty("用户ID")
    private Integer userId;

    @ApiModelProperty("年份ID编码")
    private Integer yearId;

    @ApiModelProperty("学号")
    private String xh;

    @ApiModelProperty("手机号")
    private String mobile;

    @ApiModelProperty("电子邮箱")
    private String email;

    @ApiModelProperty("学院编码")
    private String collegeCode;

    @ApiModelProperty("专业编码")
    private String majorCode;

    @ApiModelProperty("班级号码 只有本科生有")
    private String bjhm;

    @ApiModelProperty("姓名")
    private String xm;

    @ApiModelProperty("性别 1男 2女")
    private String xb;
    @ApiModelProperty("性别标签")
    private String xbLabel;

    @ApiModelProperty("学历")
    private String xl;
    @ApiModelProperty("学历标签")
    private String xlLabel;

    @ApiModelProperty("学制")
    private Integer xz;

    @ApiModelProperty("学位")
    private String xw;
    @ApiModelProperty("学位标签")
    private String xwLabel;

    @ApiModelProperty("学位类别")
    private String xwlb;
    @ApiModelProperty("学位类别标签")
    private String xwlbLabel;

    @ApiModelProperty("年级")
    private String grade;

    @ApiModelProperty("培养方式")
    private String pyfs;
    @ApiModelProperty("培养方式标签")
    private String pyfsLabel;

    @ApiModelProperty("定向生状态 0解锁 1锁定")
    private String directionalState;

    @ApiModelProperty("出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date csrq;

    @ApiModelProperty("入学时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date rxsj;

    @ApiModelProperty("毕业时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date bysj;

    @ApiModelProperty("生源省份")
    private String sysf;

    @ApiModelProperty("生源地区代码")
    private String syszd;
    @ApiModelProperty("生源地区标签")
    private String syszdLabel;

    @ApiModelProperty("身份证号码")
    private String sfzhm;

    @ApiModelProperty("考生号")
    private String ksh;

    @ApiModelProperty("政治面貌")
    private String zzmm;
    @ApiModelProperty("政治面貌标签")
    private String zzmmLabel;

    @ApiModelProperty("民族")
    private String mz;
    @ApiModelProperty("民族标签")
    private String mzLabel;

    @ApiModelProperty("困难生类别")
    private String knslb;
    @ApiModelProperty("困难生类别标签")
    private String knslbLabel;

    @ApiModelProperty("精准帮扶对象标志 0否 1是")
    private String jzbfdxbz;
    @ApiModelProperty("精准帮扶对象标志标签")
    private String jzbfdxbzLabel;

    @ApiModelProperty("户口是否转入学校 0否 1是")
    private String hksfzrxx;
    @ApiModelProperty("户口是否转入学校标签")
    private String hksfzrxxLabel;

    @ApiModelProperty("学籍状态 1正常 2休学")
    private String xjzt;
    @ApiModelProperty("学籍状态标签")
    private String xjztLabel;

    @ApiModelProperty("学生问卷提交状态 0提交 1未提交")
    private String questionnaireState;

    @ApiModelProperty("学生生源填报提交状态 0提交 1未提交")
    private String studentState;

    @ApiModelProperty("学院生源填报审核状态 0通过 1待审核 2退回")
    private String collegeState;

    @ApiModelProperty("学院生源填报审核意见")
    private String collegeContent;

    @ApiModelProperty("校生源填报审核意见")
    private String schoolState;

    @ApiModelProperty("校生源填报审核意见")
    private String schoolContent;

    @ApiModelProperty("学生延期状态 0正常 1延期")
    private String delayState;

    @ApiModelProperty("就业状态代码")
    private String jyztState;

    @ApiModelProperty("就业状态说明")
    private String jyzt;

    @ApiModelProperty("学习方式")
    private String xxfs;
    @ApiModelProperty("学习方式标签")
    private String xxfsLabel;

    @ApiModelProperty("城乡生源代码 1城镇 2农村")
    private String cxsydm;
    @ApiModelProperty("城乡生源代码标签")
    private String cxsydmLabel;




    @ApiModelProperty("学生附加信息ID")
    private Integer studentInfoId;

    @ApiModelProperty("学生ID")
    private Integer studentId;

    @ApiModelProperty("主修外语语种")
    private String zxwyyz;
    @ApiModelProperty("主修外语语种标签")
    private String zxwyyzLabel;

    @ApiModelProperty("专项计划")
    private String zxjh;
    @ApiModelProperty("专项计划标签")
    private String zxjhLabel;

    @ApiModelProperty("研究方向")
    private String yjfx;

    @ApiModelProperty("辅修学位")
    private String fxxw;
    @ApiModelProperty("辅修学位标签")
    private String fxxwLabel;

    @ApiModelProperty("辅修专业")
    private String fxzy;

    @ApiModelProperty("婚姻状况")
    private String hyzk;
    @ApiModelProperty("婚姻状况标签")
    private String hyzkLabel;

    @ApiModelProperty("定向或委培单位")
    private String dxhwpdw;

    @ApiModelProperty("定向单位组织机构代码")
    private String dxDwzzjgdm;

    @ApiModelProperty("定向单位性质代码")
    private String dxDwxz;
    @ApiModelProperty("定向单位性质代码标签")
    private String dxDwxzLabel;

    @ApiModelProperty("定向单位行业代码")
    private String dxDwhy;
    @ApiModelProperty("定向单位行业代码标签")
    private String dxDwhyLabel;

    @ApiModelProperty("定向单位所在地代码")
    private String dxDwszd;
    @ApiModelProperty("定向单位所在地代码标签")
    private String dxDwszdLabel;

    @ApiModelProperty("定向单位联系人")
    private String dxDwlxr;

    @ApiModelProperty("定向单位联系电话")
    private String dxDwlxdh;

    @ApiModelProperty("家庭地址")
    private String jtdz;

    @ApiModelProperty("家庭邮政编码")
    private String jtyzbm;

    @ApiModelProperty("紧急联系人")
    private String jjlxr;

    @ApiModelProperty("紧急联系人电话")
    private String jjlxrdh;

    @ApiModelProperty("本专科阶段学历类型代码")
    private String bzkxl;
    @ApiModelProperty("本专科阶段学历类型代码标签")
    private String bzkxlLabel;

    @ApiModelProperty("本专科阶段院校层次代码")
    private String bzkcc;
    @ApiModelProperty("本专科阶段院校层次代码标签")
    private String bzkccLabel;

    @ApiModelProperty("本专科阶段院校名称")
    private String bzkyxmc;

    @ApiModelProperty("学院意见")
    private String xyyj;

    @ApiModelProperty("学院联系人")
    private String xylxr;

    @ApiModelProperty("学院联系电话")
    private String xylxdh;

    @ApiModelProperty("学校意见")
    private String xxyj;

    @ApiModelProperty("学校联系人")
    private String xxlxr;

    @ApiModelProperty("学校联系电话")
    private String xxlxdh;

    @ApiModelProperty("爱好特长")
    private String ahtc;

    @ApiModelProperty("个人技能")
    private String grjn;

    @ApiModelProperty("社会实践经历及任职情况")
    private String shsjjljrzqk;

    @ApiModelProperty("获奖及发表作品情况")
    private String hjjfbzpqk;

    @ApiModelProperty("主要科研活动和学术活动")
    private String zykyhdhxshd;

    @ApiModelProperty("导师推荐意见")
    private String dstjyj;

    @ApiModelProperty("个人自荐和求职意向")
    private String grzjhqzyj;

    @ApiModelProperty("备注")
    private String bz;

    @ApiModelProperty("意向地区代码")
    private String yxdq;
    @ApiModelProperty("意向地区代码")
    private String yxdqLabel;

    @ApiModelProperty("意向单位性质代码")
    private String yxdwxz;
    @ApiModelProperty("意向单位性质代码标签")
    private String yxdwxzLabel;

    @ApiModelProperty("意向单位行业代码")
    private String yxdwhy;
    @ApiModelProperty("意向单位行业代码标签")
    private String yxdwhyLabel;

    @ApiModelProperty("意向职位类别代码")
    private String yxzwlb;
    @ApiModelProperty("意向职位类别代码标签")
    private String yxzwlbLabel;

    @ApiModelProperty("意向月薪代码")
    private String yxyx;
    @ApiModelProperty("意向月薪代码标签")
    private String yxyxLabel;

    @ApiModelProperty("QQ号码")
    private String qq;



    @ApiModelProperty("学院名称")
    private String collegeName;

    @ApiModelProperty("专业名称")
    private String majorName;

    @ApiModelProperty("操作记录")
    private StudentRecord studentRecord;

    @ApiModelProperty("培养方式字典")
    private List<Dict> pyfsDictList;

    @ApiModelProperty("生源地区、意向地区字典")
    private List<Dict> syszdDictList;

    @ApiModelProperty("专项计划字典")
    private List<Dict> zxjhDictList;

    @ApiModelProperty("困难生类别字典")
    private List<Dict> knslbDictList;

    @ApiModelProperty("政治面貌字典")
    private List<Dict> zzmmDictList;

    @ApiModelProperty("民族字典")
    private List<Dict> mzDictList;

    @ApiModelProperty("主修外语语种字典")
    private List<Dict> zxwyyzDictList;

    @ApiModelProperty("定向单位性质代码")
    private List<Dict> companyNatureDictList;

    @ApiModelProperty("定向单位行业代码")
    private List<Dict> companyIndustryDictList;


    @ApiModelProperty("意向单位性质字典")
    private List<Dict> yxdwxzDictList;

    @ApiModelProperty("意向单位行业字典")
    private List<Dict> yxdwhyDictList;

    @ApiModelProperty("意向职位类别字典")
    private List<Dict> yxzwlbDictList;

    @ApiModelProperty("意向月薪字典")
    private List<Dict> yxyxDictList;

    @ApiModelProperty(value = "自由解约 0开启 1关闭", notes = "开启后学生申请解约不依据系统设置的解约次数限制 申请解约后默认关闭")
    private String freeTermination;

    @ApiModelProperty(value = "忽略系统单位自由录入 0自由录入 1不可自由录入 默认1", notes = "控制学生是否可以自主录入系统已经存在的单位进行协议就业")
    private String signEntry;

}
